package cn.edu.nju.ws.sview.servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.json.simple.JSONObject;
import org.json.simple.JSONValue;

import cn.edu.nju.ws.sview.database.DBConnectionFactory;
import cn.edu.nju.ws.sview.views.Bookmark;
import cn.edu.nju.ws.sview.wyge.relations.adataset.bookmark.DatasetBookmark;

public class EBookmarkManageServlet extends HttpServlet {

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=utf-8");
		
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=utf-8");
		String result = null;
		String json= request.getParameter("msg");
		if(json != null){
			String data = URLDecoder.decode(json, "utf-8");
			JSONObject regtJSON = (JSONObject) JSONValue.parse(data);
			String action = (String) regtJSON.get("action");
			if(action.contentEquals("delEBM")){
				String bmIds = (String) regtJSON.get("bmIds");
				String[] bmList = bmIds.split(",");
				for(String bm : bmList){
					if(bm.trim().length()>0){
						int id = Integer.parseInt(bm);
						Bookmark.delete(id);
					}
				}
				result = "success";
			}
			response.getWriter().print(result);
		}
	}
}
